package com.jeesite.modules.task.deploy.dao;

import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.file.entity.FileUpload;
import com.jeesite.modules.home.entity.EchartsDto;
import com.jeesite.modules.task.action.entity.DcSupTaskAction;
import com.jeesite.modules.task.action.entity.DcSupTaskActionDto;
import com.jeesite.modules.task.deploy.entity.DcSupTaskInfo;
import com.jeesite.modules.task.deploy.entity.DcSupTaskInfoMsgNum;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 任务部署信息表(主)DAO接口
 * @author zrr
 * @version 2022-03-02
 */
@MyBatisDao
public interface DcSupTaskInfoDao extends CrudDao<DcSupTaskInfo> {

    List<DcSupTaskInfo> findListPage(com.jeesite.modules.task.deploy.entity.DcSupTaskInfo dcSupTaskInfo);

    int updateTaskStatus(DcSupTaskInfo dcSupTaskInfo);

    List<DcSupTaskInfo> confirmListData(DcSupTaskInfo dcSupTaskInfo);

    List<Map> officeSercretList();

    Map officeSercretFirst();

    List<DcSupTaskAction> queryKeyPointList(DcSupTaskAction dcSupTaskAction);

    List<DcSupTaskAction> querySpecialList(DcSupTaskAction dcSupTaskAction);

    List<Map> leaderStatistics(DcSupTaskAction dcSupTaskAction);

    List<DcSupTaskAction> queryChildList(DcSupTaskAction dcSupTaskAction);

    Integer getMaxSortNum();

    String getMsgNumSQE();

    Integer getMaxMessageNumber();
    DcSupTaskInfoMsgNum getMaxMessageNumberByType(DcSupTaskInfoMsgNum dcSupTaskInfoMsgNum);

    Integer isUniquemessageNumber(DcSupTaskInfo dcSupTaskInfo);

    DcSupTaskInfo ExistTitle(DcSupTaskInfo dcSupTaskInfo);

    Map queryOrgLastedFeedBackContentList(String actionId,String taskId);

    List<String> queryActionList(String taskId);

    List<DcSupTaskInfo> queryWorkList(DcSupTaskInfo dcSupTaskInfo);

    List<Map> findFilesByTaskId(String taskId);

    void addFiles(String id, String file_id, String file_name, String file_type, String file_sort, String biz_key, String biz_type, String status, String create_by, String create_date, String update_by, String update_date);

    void updateUploudFile(FileUpload fileUpload);

    void updateTaskProgress(@Param("id") String id);

    List<DcSupTaskAction> getRedBlue(DcSupTaskAction dcSupTaskAction);

    List<DcSupTaskAction> queryChildList2(DcSupTaskAction dcSupTaskAction);

    List<DcSupTaskInfo> queryDeleteListData(DcSupTaskInfo dcSupTaskInfo);

//    void deleteAll(DcSupTaskInfo dcSupTaskInfo);
    void deleteAll(String id);
    void deleteAll1(String id);
    void deleteAll2(String id);
    void deleteAll3(String id);
    void deleteAll4(String id);
    void deleteAll5(String id);
    void deleteAll6(String id);
    void deleteAll7(String id);

    List<DcSupTaskInfo> queryWorkListWithMobile(DcSupTaskInfo dcSupTaskInfo);

    List<Map<String,Object>> getActionFeedback(String id);

    List<Map<String, Object>> findTaskActionList(Date maxDate);

    List<Map<String, Object>> findfeedbackList(Date maxFeedbackTime);

    Date minFeedbackEndTime(String taskNo);

    DcSupTaskInfo queryInfoByActionId(String actionId);
}